package com.treasure.service.third.service;

import com.treasure.service.domain.TPayLog;
import com.treasure.service.dto.AffirmPayResult;
import com.treasure.service.dto.PrepareResult;
import com.treasure.service.enums.PayEnum;


/**
* @Description:    充值
* @Author:         panxinwen
* @CreateDate:     2018/10/21 13:13
* @Version:        1.0
*/
public interface PayService {


    /**
     * 生成支付订单
     * @param bizId
     * @param payEnum
     * @param amount
     * @return
     * @throws Exception
     */
    public PrepareResult createPayOrder(Integer payType,Long bizId, PayEnum payEnum, Long amount,Long userId,String clientIp) throws Exception;

    /**
     * 微信支付通知
     * @param affirmPayResult
     */
    public void getnotify(AffirmPayResult affirmPayResult);

    /**
     * 更新支付订单
     * @param tPayLog
     * @return
     */
    public int updateByPrimaryKeySelective(TPayLog tPayLog);

    /**
     * 微信支付结果回调
     * @param affirmPayResult
     */
    public void notify(AffirmPayResult affirmPayResult);
}
